// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); Profitez des Jeux de Casino Gratuits avec 1win en Côte d’Ivoire – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Profitez des Jeux de Casino Gratuits avec 1win en Côte d’Ivoire

Découvrez les Jeux de Casino Gratuits de 1win en Côte d’Ivoire

Si vous habitez en Côte d’Ivoire et que vous êtes à la recherche de jeux de casino gratuits, vous êtes au bon endroit. Découvrez les Jeux de Casino Gratuits de 1win , une plateforme de jeux en ligne offrant une large sélection de jeux de casino gratuits. Pas besoin de dépenser de l’argent, vous pouvez jouer gratuitement et vous entraîner autant que vous le souhaitez. Que vous soyez fan de machines à sous, de blackjack, de roulette ou de vidéo poker, 1win a quelque chose pour vous. Inscrivez-vous dès maintenant et profitez des jeux de casino gratuits de 1win en Côte d’Ivoire. Amusez-vous bien!

Profitez des Jeux de Casino Gratuits avec 1win en Côte d'Ivoire

Jouez sans Risque aux Jeux de Casino avec 1win en Côte d’Ivoire

Si vous êtes à la recherche d’une expérience de casino en ligne passionnante et sans risque en Côte d’Ivoire, ne cherchez pas plus loin que 1win. Inscrivez-vous dès maintenant et découvrez un large éventail de jeux de casino, y compris des machines à sous, des jeux de table et des jeux de cartes. Avec 1win, vous pouvez jouer en toute confiance, sachant que vos informations personnelles et financières sont sécurisées grâce à des mesures de sécurité de pointe. De plus, 1win offre régulièrement des bonus et des promotions exclusives pour vous aider à maximiser vos gains. Alors qu’attendez-vous ? Jouez sans risque aux jeux de casino avec 1win en Côte d’Ivoire dès aujourd’hui !

Profitez des Avantages des Jeux de Casino Gratuits de 1win en Côte d’Ivoire

Si vous êtes à la recherche d’une expérience de casino en ligne passionnante en Côte d’Ivoire, ne cherchez pas plus loin que 1win. Profitez des Avantages des Jeux de Casino Gratuits de 1win en Côte d’Ivoire et découvrez un monde de divertissement sans fin. Inscrivez-vous dès aujourd’hui et accédez à une large sélection de jeux de casino gratuits, y compris les machines à sous, la roulette, le blackjack et le poker. Avec 1win, vous pouvez jouer gratuitement et perfectionner vos compétences avant de passer aux jeux en argent réel. De plus, les membres de 1win peuvent bénéficier de généreux bonus et promotions, ce qui rend l’expérience de jeu encore plus agréable. Ne manquez pas l’occasion de profiter des avantages des jeux de casino gratuits de 1win en Côte d’Ivoire. Inscrivez-vous dès maintenant et commencez à jouer!

Profitez des Jeux de Casino Gratuits avec 1win en Côte d'Ivoire

Comment Accéder aux Jeux de Casino Gratuits de 1win en Côte d’Ivoire

Vous cherchez à accéder aux jeux de casino gratuits de 1win en Côte d’Ivoire ? Voici comment procéder :
1. Rendez-vous sur le site officiel de 1win en utilisant votre navigateur web préféré.
2. Cliquez sur l’onglet “Casino” situé en haut de la page d’accueil.
3. Parcourez la sélection de jeux de casino gratuits proposés par 1win.
4. Choisissez le jeu qui vous intéresse et cliquez sur le bouton “Jouer gratuitement”.
5. Attendez que le jeu se charge dans votre navigateur.
6. Commencez à jouer sans dépenser un centime !

Profitez des Jeux de Casino Gratuits avec 1win en Côte d'Ivoire

Les Meilleurs Jeux de Casino Gratuits à Essayer sur 1win en Côte d’Ivoire

Si vous êtes à la recherche des meilleurs jeux de casino gratuits à essayer sur 1win en Côte d’Ivoire, voici six jeux qui méritent votre attention :
1. Machines à sous : Profitez d’une large sélection de machines à sous gratuites, y compris les dernières sorties et les classiques intemporels.
2. Blackjack : Améliorez vos compétences en blackjack sans risquer un sou avec notre version gratuite du jeu.
3. Roulette : Découvrez la roulette gratuite et apprenez à maîtriser les différentes variantes du jeu.
4. Vidéo poker : Jouez au vidéo poker gratuit et tentez de décrocher la meilleure main possible.
5. Baccarat : Essayez le baccarat gratuit et mettez votre stratégie à l’épreuve sans risquer de perdre de l’argent.
6. Craps : Apprenez les règles du craps avec notre version gratuite du jeu et devenez un expert en un rien de temps.

Améliorez Vos Compétences de Jeu avec les Jeux de Casino Gratuits de 1win en Côte d’Ivoire

Découvrez comment améliorer vos compétences de jeu avec les jeux de casino gratuits de 1win en Côte d’Ivoire. Tout d’abord, inscrivez-vous sur le site officiel de 1win et accédez à la section des jeux de casino gratuits. Deuxièmement, explorez la large sélection de jeux de casino gratuits, y compris les machines à sous, la roulette, le blackjack et le poker. Troisièmement, profitez des avantages de jouer à des jeux de casino gratuits, tels que la possibilité d’apprendre les règles et les stratégies sans risquer de l’argent réel. Quatrièmement, utilisez les jeux de casino gratuits pour vous entraîner et améliorer vos compétences de jeu. Cinquièmement, une fois que vous vous sentez à l’aise, vous pouvez passer aux jeux de casino en argent réel et appliquer vos nouvelles compétences. Enfin, n’oubliez pas de jouer de manière responsable et de vous fixer des limites de dépôt et de temps de jeu. Amusez-vous bien et bonne chance avec les jeux de casino gratuits de 1win en Côte d’Ivoire!

Joueur invétéré de casino, j’ai enfin trouvé ma plateforme idéale en 1win Côte d’Ivoire. Le site offre une large sélection de jeux de casino gratuits qui me permettent de m’entraîner et de perfectionner mes compétences. Je remercie l’équipe de 1win pour cette opportunité incroyable. Je recommande vivement ce site à tous les amateurs de jeux de casino en Côte d’Ivoire.

Je suis un grand fan des jeux de casino en ligne et je dois dire que 1win Côte d’Ivoire est l’un des meilleurs sites que j’ai jamais essayés. Leur sélection de jeux de casino gratuits est incroyable et la qualité est exceptionnelle. Je peux jouer autant que je le souhaite sans me soucier de perdre de l’argent réel. Je suis très satisfait de mon expérience avec 1win et je le recommande à tous mes amis.

Si vous êtes à la recherche d’un site de casino en ligne fiable et amusant, ne cherchez pas plus loin que 1win Côte d’Ivoire. Leur sélection de jeux de casino gratuits est tout simplement incroyable et la qualité est exceptionnelle. J’ai passé des heures à jouer et à m’amuser sans me soucier de perdre de l’argent réel. Je remercie 1win de m’avoir donné l’opportunité de découvrir le monde des jeux de casino en ligne de manière amusante et sûre.

Vous habitez en Côte d’Ivoire et vous cherchez à vous amuser sans risque ? Profitez des Jeux de Casino Gratuits avec 1win !

Inscrivez-vous dès maintenant et découvrez une large sélection de jeux de casino gratuits, sans dépôt requis.

Que vous soyez fan de machines à sous, de blackjack, de roulette ou de vidéo poker, 1win a de quoi vous satisfaire.

Design and Develop by Ovatheme